Depuis plus de 30 ans, on utilise les tableurs pour créer des feuilles de calculs analytiques "maison". Ils ont envahi les entreprises d'ingénierie, de conseil, de finance ainsi que notre vie quotidienne.
Mais que valent-ils réellement? Sont-ils vraiment adaptés au métier d'ingénieur? Leur utilisation représente t'elle un danger? C'est que je vous propose d'aborder dans cet article.
Les tableurs possèdent quelques avantages qu'il est bon de rappeler.
Les tableurs sont très abordables (voir même gratuits si on utilise LibreOffice) et accessibles à tous, ce qui en fait un outil très apprécié dans les entreprises.
Il est très facile d'apprendre à utiliser les tableurs. En 1993, en cours de technologie au collège, j'avais déjà eu droit a une initiation sur le tableur de la suite bureautique WORKS sous MSDOS (Et oui je viens d'une autre époque).
Passons maintenant à leurs inconvénients qui sont nombreux et qui sont la raison principale de cet article.
Rentrer une formule sous un tableur se fait en ligne dans une cellule et il n'existe pas d'outils permettant de visualiser la formule mathématique automatiquement sous une forme lisible. L'éditeur d'équation n'est hélas pas "connecté" à la ligne de formule et il n'est pas possible de vérifier facilement ce que contiennent les cellules.
Il est bien sur possible de décomposer les formules en éléments plus simples, mais ce travail se fait manuellement, prend du temps et peut engendrer des erreurs.
Les tableurs ne gèrent pas les unités physiques ni les grandeurs. Il est donc très facile d'additionner les choux et les carottes et d'avoir des formules incohérentes. Et il est très dur de diagnostiquer ces incohérences en raison du manque de lisibilité des formules.
Rien n'est plus facile à modifier qu'une feuille de calcul sous un tableur ! Et encore plus à l'insu de l'utilisateur final !
Bien qu'il soit possible de verrouiller les feuilles de calcul, cette fonctionnalité possède un niveau de sécurité très faible et il est très facile de la faire sauter.
De plus, la plupart du temps, les feuilles ne sont pas protégées du tout ce qui autorise toutes les modifications possibles. Et une entreprise n'est pas à l'abri d'une malveillance!
On a tendance naturellement avec un tableur à travailler avec les références de cellules. Mais ces références rendent les formules non parlantes par exemple = A1 * (A2 + G1)
.
Pour cela on utilise des noms de cellules ce qui permet de mieux comprendre le sens des formules = NombreDeJours * (CoutStockage + CoutFabrication)
.
Malheureusement utiliser des noms de cellules complique le travail lorsque l'on duplique des colonnes et il est alors nécessaire d'éditer manuellement le nom des cellules l'une après l'autre ce qui prend beaucoup de temps. Et dans ce cas, il est plus "rentable" d'utiliser … les références de cellules !
Les tableurs sont conçus pour traiter nativement une quantité raisonnable de données. Il est dur de donner une limite exacte mais quoi qu'il en soit, une quantité de donnée trop importante devient vite difficile à gérer sous un tableur et il est nécessaire de passer par une base de donnée avec tout le travail de mise en œuvre que cela implique.
A cela s'ajoute la problématique de la délimitation des zones de données. Mal définies, elles peuvent sauter certaines plages de données et avoir un impact sur le résultat final.
Il est fréquent de copier et coller des données entre feuilles. Ces copiés-collés en série sont une source d'erreurs dans la mesure ou il n'est pas possible de tracer les opérations effectuées par l'utilisateur.
De plus, ces opérations se font souvent sur des zones contenant déjà des données. Il n'est alors plus possible de savoir lesquelles sont les bonnes.
Il n'est pas exclu non plus que des erreurs se produisent pendant le copié-collé et modifie les données elles-mêmes (Voir expérience personnelle plus loin).
Il existe toute une série de mauvaises pratiques qui sont assez courantes dans les feuilles de calcul.
Par exemple l'utilisation des couleurs, des mises en formes ou encore des notes pour porter des informations importantes sur les données. Certes, cela rend la feuille plus agréable à regarder mais plus difficile à analyser et à exploiter.
On peut citer également le regroupement de données différentes dans une même cellule ou encore les paragraphes de textes entiers dans une seule cellule.
On peut égaler citer les renvois et les recherches de données qui rendent les feuilles encore moins lisibles.
Un tableur s'avère rapidement limité par les fonctionnalités qu'il propose.
Pour les étendre, il est nécessaire d'avoir à disposition un langage de programmation digne de ce nom afin de pouvoir faire des traitements de données avancés (filtrages, tris, recherches, …) mais aussi pour communiquer avec d'autres programmes (Envoi/récupération des données d'un programme tiers, création de scriptes, …). Dans le cas de EXCEL, ce langage est Visual-Basic. Et c'est là que les choses se gâtent !
Je pourrais écrire une page entière consacrée à Visual Basic, mais voici de manière très rapide la plupart des problèmes rencontrés avec ce langage :
VBA est un langage interprété (Faible vitesse d'exécution).
VBA est propriétaire est son maintient dépend de son éditeur… bien plus intéressé par le profit que par les utilisateurs finaux.
VBA n'est pas portable.
VBA ne fait pas l'objet d'une standardisation claire comme d'autres langages et de nombreuses incompatibilités entre les versions existent.
Les outils annexes (Versioning, documentation, bibliothèques, …) sont moins bons que ceux dédiés à d'autres langages.
et pour finir, VBA est régulièrement cité dans le TOP 3 des langages de programmation les plus détestés par les programmeurs:
Et de manière générale, écrire des programmes informatiques est un métier qui nécessite des compétences et une rigueur que tous les utilisateurs d'EXCEL n'ont pas.
Dans le cadre de mon travail j'ai pu moi-même constater le nombre d'erreurs provenant de feuilles de calculs EXCEL et avec un impact bien réel sur le résultat (Contraintes sous estimées, facteur d'usage sous-évalué, …).
Lors de ma remise de diplôme à l'ENISE en 2005, nos diplômes ont dû être renvoyé et réimprimé par l'académie de Grenoble car lors d'un copié-collé dans EXCEL, les dates de naissance des étudiants de ma promotion avaient toutes été augmentées de 2 mois et 3 jours.
Lors de mon parcours professionnel, j'ai plusieurs fois utilisé des feuilles de calcul mal conçus et bugués donnant des résultats non conformes.
J'ai aussi repris des feuilles de calculs contenant des fonctions de recherche (RECHERCHEV
) pour capturer des valeurs à différents endroits. Un mauvais copié-collé des cellules engendra un décalage des références, des mauvaises valeurs prisent en compte, des résultats faux et un travail supplémentaire pour analyser l'impact de ces erreurs.
J'ai également été amené à utiliser des macros en Visual Basic non documentées, écrites à la va-vite par des personnes ayant quitté l'entreprise depuis longtemps et bien sur … buguées.
Et ayant beaucoup travaillé sur tableurs, il est tout à fait possible que j'aie moi-même commis des erreurs.
Je ne suis pas le seul à faire ce constat sur les problèmes liés à l'utilisation des tableurs:
Selon FP&A Trends Group, une entreprise de conseil spécialisée dans la finance, 88% des feuilles EXCEL compteraient au moins une erreur : 88-spreadsheets-have-errors
Une étude réalisée par la International Data Corporation (IDC), une entreprise de conseil spécialisée dans le commerce, indique que le cout des erreurs imputables à une mauvaise utilisation des tableurs se chiffrent en milliards d'euros ! IDC-InfoBrief-Nov.pdf
Les incidents entraînant une mauvaise prise de décision et des pertes (en millions de dollars) pour les entreprises sont plus fréquentes qu'on ne le croit: 12 of the biggest spreadsheet fails in history